/* Copyright 2023 Dual Tachyon
 * https://github.com/DualTachyon
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *     Unless required by applicable law or agreed to in writing, software
 *     distributed under the License is distributed on an "AS IS" BASIS,
 *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *     See the License for the specific language governing permissions and
 *     limitations under the License.
 */

#include "font.h"

#if 0
// Terminus font currently...
const uint8_t gFontBigDigits[11][26 - 6] =
  {
    {0xFC, 0xFE, 0xFE, 0x06, 0x86, 0xC6, 0xE6, 0xFE, 0xFE, 0xFC, 0x3F, 0x7F, 0x7F, 0x67, 0x63, 0x61, 0x60, 0x7F, 0x7F, 0x3F, },
    {0x00, 0x00, 0x18, 0x1C, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x7F, 0x7F, 0x7F, 0x60, 0x60, 0x00, },
    {0x1C, 0x1E, 0x1E, 0x06, 0x06, 0x06, 0x86, 0xFE, 0xFE, 0x7C, 0x60, 0x70, 0x78, 0x7C, 0x6E, 0x67, 0x63, 0x61, 0x60, 0x60, },
    {0x0C, 0x0E, 0x0E, 0x86, 0x86, 0x86, 0x86, 0xFE, 0xFE, 0x7C, 0x30, 0x70, 0x70, 0x61, 0x61, 0x61, 0x61, 0x7F, 0x7F, 0x3E, },
    {0x80, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0xFE, 0xFE, 0xFE, 0x0F, 0x0F, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x7F, 0x7F, 0x7F, },
    {0xFE, 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x86, 0x30, 0x70, 0x70, 0x60, 0x60, 0x60, 0x60, 0x7F, 0x7F, 0x3F, },
    {0xF8, 0xFC, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x80, 0x3F, 0x7F, 0x7F, 0x60, 0x60, 0x60, 0x60, 0x7F, 0x7F, 0x3F, },
    {0x0E, 0x0E, 0x0E, 0x06, 0x06, 0x86, 0xE6, 0xFE, 0x7E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7F, 0x7F, 0x03, 0x00, 0x00, },
    {0x7C, 0xFE, 0xFE, 0x86, 0x86, 0x86, 0x86, 0xFE, 0xFE, 0x7C, 0x3F, 0x7F, 0x7F, 0x61, 0x61, 0x61, 0x61, 0x7F, 0x7F, 0x3F, },
    {0xFC, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0xFE, 0xFE, 0xFC, 0x01, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x7F, 0x3F, 0x1F, },
    {0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, }
  };
#endif


const uint8_t gFontBig[95 - 1][16 - 2] =
  {
#include <utils/c64large.h>
  };


const uint8_t gFontSmall[95-1][6] =
  {
#include <utils/c64font.h>
//#include <utils/apple2.h>
  };


#ifdef ENABLE_SMALL_BOLD
const uint8_t gFontSmallBold[95 - 1][6] =
  {
//#include <utils/vicfont.h>
#include <utils/apple2.h>
  };
#endif


#ifdef ENABLE_SPECTRUM
const uint8_t gFont3x5[][3] =
  {
    {0x00, 0x00, 0x00}, //  32 - space
    {0x00, 0x17, 0x00}, //  33 - exclam
    {0x03, 0x00, 0x03}, //  34 - quotedbl
    {0x1f, 0x0a, 0x1f}, //  35 - numbersign
    {0x0a, 0x1f, 0x05}, //  36 - dollar
    {0x09, 0x04, 0x12}, //  37 - percent
    {0x0f, 0x17, 0x1c}, //  38 - ampersand
    {0x00, 0x03, 0x00}, //  39 - quotesingle
    {0x00, 0x0e, 0x11}, //  40 - parenleft
    {0x11, 0x0e, 0x00}, //  41 - parenright
    {0x05, 0x02, 0x05}, //  42 - asterisk
    {0x04, 0x0e, 0x04}, //  43 - plus
    {0x10, 0x08, 0x00}, //  44 - comma
    {0x04, 0x04, 0x04}, //  45 - hyphen
    {0x00, 0x10, 0x00}, //  46 - period
    {0x18, 0x04, 0x03}, //  47 - slash
    {0x1e, 0x11, 0x0f}, //  48 - zero
    {0x02, 0x1f, 0x00}, //  49 - one
    {0x19, 0x15, 0x12}, //  50 - two
    {0x11, 0x15, 0x0a}, //  51 - three
    {0x07, 0x04, 0x1f}, //  52 - four
    {0x17, 0x15, 0x09}, //  53 - five
    {0x1e, 0x15, 0x1d}, //  54 - six
    {0x19, 0x05, 0x03}, //  55 - seven
    {0x1f, 0x15, 0x1f}, //  56 - eight
    {0x17, 0x15, 0x0f}, //  57 - nine
    {0x00, 0x0a, 0x00}, //  58 - colon
    {0x10, 0x0a, 0x00}, //  59 - semicolon
    {0x04, 0x0a, 0x11}, //  60 - less
    {0x0a, 0x0a, 0x0a}, //  61 - equal
    {0x11, 0x0a, 0x04}, //  62 - greater
    {0x01, 0x15, 0x03}, //  63 - question
    {0x0e, 0x15, 0x16}, //  64 - at
    {0x1e, 0x05, 0x1e}, //  65 - A
    {0x1f, 0x15, 0x0a}, //  66 - B
    {0x0e, 0x11, 0x11}, //  67 - C
    {0x1f, 0x11, 0x0e}, //  68 - D
    {0x1f, 0x15, 0x15}, //  69 - E
    {0x1f, 0x05, 0x05}, //  70 - F
    {0x0e, 0x15, 0x1d}, //  71 - G
    {0x1f, 0x04, 0x1f}, //  72 - H
    {0x11, 0x1f, 0x11}, //  73 - I
    {0x08, 0x10, 0x0f}, //  74 - J
    {0x1f, 0x04, 0x1b}, //  75 - K
    {0x1f, 0x10, 0x10}, //  76 - L
    {0x1f, 0x06, 0x1f}, //  77 - M
    {0x1f, 0x0e, 0x1f}, //  78 - N
    {0x0e, 0x11, 0x0e}, //  79 - O
    {0x1f, 0x05, 0x02}, //  80 - P
    {0x0e, 0x19, 0x1e}, //  81 - Q
    {0x1f, 0x0d, 0x16}, //  82 - R
    {0x12, 0x15, 0x09}, //  83 - S
    {0x01, 0x1f, 0x01}, //  84 - T
    {0x0f, 0x10, 0x1f}, //  85 - U
    {0x07, 0x18, 0x07}, //  86 - V
    {0x1f, 0x0c, 0x1f}, //  87 - W
    {0x1b, 0x04, 0x1b}, //  88 - X
    {0x03, 0x1c, 0x03}, //  89 - Y
    {0x19, 0x15, 0x13}, //  90 - Z
    {0x1f, 0x11, 0x11}, //  91 - bracketleft
    {0x02, 0x04, 0x08}, //  92 - backslash
    {0x11, 0x11, 0x1f}, //  93 - bracketright
    {0x02, 0x01, 0x02}, //  94 - asciicircum
    {0x10, 0x10, 0x10}, //  95 - underscore
    {0x01, 0x02, 0x00}, //  96 - grave
    {0x1a, 0x16, 0x1c}, //  97 - a
    {0x1f, 0x12, 0x0c}, //  98 - b
    {0x0c, 0x12, 0x12}, //  99 - c
    {0x0c, 0x12, 0x1f}, // 100 - d
    {0x0c, 0x1a, 0x16}, // 101 - e
    {0x04, 0x1e, 0x05}, // 102 - f
    {0x0c, 0x2a, 0x1e}, // 103 - g
    {0x1f, 0x02, 0x1c}, // 104 - h
    {0x00, 0x1d, 0x00}, // 105 - i
    {0x10, 0x20, 0x1d}, // 106 - j
    {0x1f, 0x0c, 0x12}, // 107 - k
    {0x11, 0x1f, 0x10}, // 108 - l
    {0x1e, 0x0e, 0x1e}, // 109 - m
    {0x1e, 0x02, 0x1c}, // 110 - n
    {0x0c, 0x12, 0x0c}, // 111 - o
    {0x3e, 0x12, 0x0c}, // 112 - p
    {0x0c, 0x12, 0x3e}, // 113 - q
    {0x1c, 0x02, 0x02}, // 114 - r
    {0x14, 0x1e, 0x0a}, // 115 - s
    {0x02, 0x1f, 0x12}, // 116 - t
    {0x0e, 0x10, 0x1e}, // 117 - u
    {0x0e, 0x18, 0x0e}, // 118 - v
    {0x1e, 0x1c, 0x1e}, // 119 - w
    {0x12, 0x0c, 0x12}, // 120 - x
    {0x06, 0x28, 0x1e}, // 121 - y
    {0x1a, 0x1e, 0x16}, // 122 - z
    {0x04, 0x1b, 0x11}, // 123 - braceleft
    {0x00, 0x1b, 0x00}, // 124 - bar
    {0x11, 0x1b, 0x04}, // 125 - braceright
    {0x02, 0x03, 0x01}, // 126 - asciitilde
    {0x12, 0x17, 0x12}, // 127 - plusminus
  };
#endif
